home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / archie-1.4.1 / archie.h < prev    next >
C/C++ Source or Header  |  1995-06-18  |  2KB  |  70 lines

  1. /*
  2.  * archie.h : Definitions for the programmatic Prospero interface to Archie
  3.  *
  4.  *     Written by Brendan Kehoe (brendan@cygnus.com),
  5.  *                George Ferguson (ferguson@cs.rochester.edu), and
  6.  *                Clifford Neuman (bcn@isi.edu).
  7.  */
  8.  
  9. /* You can't touch this.  */
  10. #ifndef XARCHIE
  11. # define ARCHIES    "archie.ans.net (USA [NY])","archie.rutgers.edu (USA [NJ])","archie.sura.net (USA [MD])","archie.unl.edu (USA [NE])","archie.mcgill.ca (Canada)","archie.funet.fi (Finland/Mainland Europe)","archie.au (Australia)","archie.doc.ic.ac.uk (Great Britain/Ireland)","archie.wide.ad.jp (Japan)","archie.ncu.edu.tw (Taiwan)"
  12. # define NARCHIES    10
  13. #endif
  14.  
  15. /*
  16.  * Default value for max hits.  Note that this is normally different
  17.  * for different client implementations.  Doing so makes it easier to
  18.  * collect statistics on the use of the various clients.
  19.  */
  20. #ifdef VMS
  21. # define    MAX_HITS    98    /* VMS Client */
  22. #else
  23. # ifdef XARCHIE
  24. #  define    MAX_HITS    99    /* X Client */
  25. # else
  26. #  define    MAX_HITS    95    /* Normal client */
  27. # endif
  28. #endif
  29.  
  30. /*
  31.  * CLIENT_VERSION may be used to identify the version of the client if 
  32.  * distributed separately from the Prospero distribution.  The version
  33.  * command should then identify both the client version and the Prospero
  34.  * version identifiers.   
  35.  */
  36. #ifdef XARCHIE
  37. # define CLIENT_VERSION    "1.3-X"
  38. #else
  39. # define CLIENT_VERSION "1.4.1"
  40. #endif
  41.  
  42. /* The different kinds of queries we can make.  */
  43. typedef enum query_type
  44. {
  45.   NONE = '\0', EXACT = '=', REGEXP = 'R',
  46.   SUBSTRING = 'S', SUBSTRING_CASE = 'C'
  47. } Query;
  48.  
  49. /* Procedures from user/aquery.c */
  50. extern VLINK archie_query (); 
  51.  
  52. /* defcmplink(p,q) and invdatecmplink(p,q)                             */
  53. extern int defcmplink();    /* Compare by host then by filename    */
  54. extern int invdatecmplink();    /* Compare links inverted by date      */
  55.  
  56. /* Definitions for the comparison procedures                           */
  57. #define AQ_DEFCMP    defcmplink
  58. #define AQ_INVDATECMP    invdatecmplink
  59.  
  60. /* Flags                                                               */
  61. #define AQ_NOSORT    0x01    /* Don't sort                          */
  62. #define AQ_NOTRANS    0x02    /* Don't translate Archie responses    */
  63.  
  64. /* To keep the code clean (hah!). */
  65. #ifdef VMS
  66. # define ERROR_EXIT    SS$_NORMAL
  67. #else
  68. # define ERROR_EXIT    1
  69. #endif
  70.